希望在經過三十天的說明,您會跟我一樣,認同gt
是一個相當好用的package。gt
的made from code概念使得我們可以Python的生態圈下,完整地由資料分析走到報告呈現。
{gt}
相比於gt
起步較早,開發團隊正努力想要引進所有{gt}
的功能,即便是在這三十天內,也進行了多次改版與新增功能,讓本系列文剛完成就略顯過時……
如果您在製作表格時缺乏靈感,建議可以欣賞今年 Posit table contest的參賽者作品,相信會讓您驚嘆不已。此外,表格僅是視覺化的呈現元素之一,在R語言中您可以搭配{gt}
與{ggplot2}來將圖表與表格做完美的結合。而在Python生態圈內,您可以參考Python版本的{ggplot2}
─ plotnine,其使用方式其實相當類似gt
。可以這麼說:gt
以表格文法製表,而plotnine
以圖表文法繪圖。建議您也可以參考今年 Posit plotnine plotting contest的參賽者作品,或許可以激盪出更有創意的點子。
最後,歡迎走過路過gt
的諸位,可以多多給我們建議或是提交PR。在此,先感謝諸位的幫忙,祝coding順利!
此處收集一些開發gt
與編寫本系列文時,遇到看到想到的一些問題,希望能對您有幫助。
目前gt
僅支援Pandas及Polars DataFrame(Pyarrow?)。開發團隊正在思考導入ibis或narwhals來作為各種DataFrame的中介層,或許能因此大幅提升gt
的渲染速度。
由於narwhals
的主要維護者Marco Gorelli也是gt
的使用者,且narwhals
使用Polars expression作為中介語言,效率非常好。個人覺得gt
導入narwhals
的機會較高。
詳見[Day05]說明。
gt
好像很方便,但是我只會Pandas耶?Polars有提供很完整的文件說明來幫助使用者學習。此外,小弟於初學Polars時,有寫了一個ezp2p repo,說明如何於Pandas中重現Polars的操作,或許對您有幫助。
gt
所提供的GT.fmt_*()
及GT.cols_*()
來改變表格呈現方式呢?兩個都是不錯的方法,但一般來說,使用gt
所提供的功能應該會較為輕鬆。例如想調整表格欄位順序的話,可以直接使用多種GT.cols_move*()
函數來達成。此外在製表時,我們處於「大概」知道想要的樣式但需要不斷調整的情況,此時如果DataFrame是固定不變的會比較容易操作。
GT.cols_label()
重新命名?詳見[Day10]說明。
GT.tab_style()
。GT.tab_options()
或GT.opt_*()
。html()
來呈現。如果上述調整皆無法達成需求的話,煩請回報至GitHub讓我們知道您的需求。
的確有時候會出現這樣的情況,但目前開發團隊還沒有找到徹底的解決方案。如果有遇到類似的情形,麻煩請將使用環境回報至GitHub,讓我們比較容易找出原因。
詳見[Day22]及[Day23]說明。這個例子是小弟在今年 Posit table contest中獲得「"The Best Table that Uses Polars"」的作品,希望對您有一些幫助。
Maybe!這是一個很常被詢問的問題,其實開發團隊一直試圖探索各種可能的解決方案……
很抱歉讓您有這種感受,請體諒開發團隊每週能投入的精力時間有限,歡迎您一起加入維護的行列:)。